<?php
namespace Process;
use Exception;
class Base
{
    /**
     * 进程标题
     * @var
     */
    public $process_title ;

    /**
     * 进程类别
     * @var
     */
    protected $process_identity ;

    /**
     * @var
     */
    protected $run_tmp_path ;

    /**
     * 当前进程 pid
     * @var
     */
    protected $pid ;

    /**
     * 错误日志文件
     * @var
     */
    protected $log_file ;

    public function __construct()
    {
        //todo : 其他操作
    }


    /**
     * 增强sleep 可以小数
     * @param $sleep
     */
    public function sleep($sleep)
    {
        usleep($sleep*1000000);
    }

    /**
     * 获取错误信息
     * @param Exception $e
     * @param $method
     * @return string
     */
    public function error( $e,$method)
    {
        return  sprintf("error:%s,code:%s,method：%s,line:%d,file stat:%s,%s ",$e->getMessage(),$e->getCode(),$method,$e->getLine(),$e->getFile(),$e->getPrevious());
    }

    /**
     * 记录文本日志
     * @param $log_string
     */
    public function log($log_string)
    {
        $log_string = "进程:{$this->process_identity},pid:{$this->pid},详细信息:{$log_string},  时间:[".date('Y-m-d H:i:s')."]".PHP_EOL ;
        file_put_contents($this->log_file, $log_string,FILE_APPEND|LOCK_EX);
    }
}